Módulo 1: Introdução ao R
Carolina Musso
PROFESP, DEMSP, MS
Aula 10 - Correção exercícios
Aula 11 - Introdução ao mundo dos gráficos
Aula 12 - Fim do módulo e apresentação da tarefa
Curso-R, Livro, cap. 13.8; Curso Visualização
R4DS O livro começa com gráficos!
“The simple graph has brought more information to the data analyst’s mind than any other device.” — John Tukey
“O gráfico simples trouxe mais informações à mente do analista de dados do que qualquer outro dispositivo”
DataViz, para os íntimos
Muito importante já na parte de exploração dos dados
Ajudam ao cérebro a dar sentido em todas aquelas informações
Ajuda a levantar hipóteses
Importante na apresentação final dos resultados
Mas onde está o carregamento desse pacote no nosso software?
Ele faz parte do tidyverse!
Falando nisso, a versão mais recente do tidyverse acabou de ser lançada (2.0.0) - agora com lubridate.
Uma forma mais rápida de visualizar (poucas linhas de código)
Não vamos focar, no momento, em deixar os gráficos muito bonitos.
Adivinhem: o ggplot faz as duas coisas!
Utiliza a Gramática dos gráficos (daí o gg de ggplot): você precisa de atributos estéticos (cor, tamanho…) e atributos geométricos (pontos, linhas, colunas…).
São utilizadas camadas: Sobreposição de elementos visuais.
who_bruto %>%
ggplot() +
aes(x=New_cases, y=New_deaths) +
geom_point(color="aquamarine") +
labs(title = "Um título",
subtitle = "Um subtítulo",
x = "Número de Casos",
y = "Número de óbitos",
caption = "Fonte: WHO")+
theme_classic()+
scale_x_continuous(labels=function(x) format(x,
big.mark = ".",
decimal.mark=",",
scientific = FALSE),
breaks = seq(0, 10^7, by=10^6))+
theme(
legend.position = "bottom",
plot.title = element_text(size = 30),
plot.caption = element_text(hjust = 0),
plot.subtitle = element_text(face = "bold"),
axis.text.x = element_text(color = "green", size = 10, angle = 45, vjust=0.65),
axis.text.y = element_text(size = 15),
axis.title = element_text(size = 20)
)+
geom_smooth(color="indianred", se=T)+
annotate(
"label",
x = pull(who_bruto[who_bruto$New_cases>6500000 ,"New_cases"]),
y = pull(who_bruto[who_bruto$New_cases>6500000 ,"New_deaths"]),
label = paste0(pull(who_bruto[who_bruto$New_cases>6500000 ,"Country"])," in \n",
pull(who_bruto[who_bruto$New_cases>6500000 ,"Date_reported"])),
hjust = 1,
vjust = -1) +
annotate(
"curve",
x = 6500000,
xend = pull(who_bruto[who_bruto$New_cases>6500000 ,"New_cases"]),
y = 3000,
yend = pull(who_bruto[who_bruto$New_cases>6500000 ,"New_deaths"]),
arrow = arrow(
type = "closed",
length = unit(.2, "cm")
),
colour = "red",
curvature = -.4,
alpha=0.8
)As camadas são adicionadas com um “+”